package appapi.entity.Api;

/**
 * @author djq
 * @date 2023/8/8 10:55
 * @description:
 */

import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;


@Data
public class HttpQueryEntity implements Serializable {
    /**
     * 上报数据实体类
     *
     * @param appid 供应商提供的appid
     * @param secret 供应商提供的密钥
     * @param method 由接口提供方指定的接口标识符，详见数据标准的具体接口描述
     * @param version 由接口提供方指定的接口版本，详见数据标准的具体接口描述
     * @return
     */
    public HttpQueryEntity(String appid,String secret,String method,String version){
        this.setAppid(appid);
        this.setSecret(secret);
        this.setMethod(method);
        this.setVersion(version);
        //this.setNonce("637342282293512498");
        //this.setTimestamp("20200828161845");
        this.setFormat("json");
        //this.setUrl("https://scs-iotsite.shecltd.com/open.api");
    }
    //private String url;

    @NotNull(message = "appid不能为空!")
    private String appid;

    private String secret;

    @NotNull(message = "方法不能为空!")
    private String method;

    private String data;

    private String format;

    private String nonce;

    private String timestamp;

    private String version;

    private String sign;

//    private String createNowTimestamp() {
//        //4 位年+2 位月+2 位日+2 位小时(24 小时制)+2 位分+2 位秒
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
//        return sdf.format(new Date(System.currentTimeMillis()));
//    }
//    private String createNonce() {
//        Integer nonce = new Random().nextInt();
//        return nonce.toString();
//    }
}